package com.example.demothree.common;

import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@Component
public class MyInterceptor implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        //判断session会话当中是否存在username
        Object username = request.getSession().getAttribute("username");
        if(username==null){
            //重点：**因为整合了 thymeleaf模板所以此处要写的（"/login"）
            //这里指的是上述的IndexController 类中的@RequestMapping（"/login"）,
            //因为整合了thymeleaf，所以不可以写response.sendRedirect("/login.html")之类的等等，
            //否则会出现一直拦截所有资源，虽然可以跳转到login.html，但是会出现无限循环重定向。
            System.out.println("||||拦截器");
//            request.getRequestDispatcher("login.html").forward(request,response);
            response.sendRedirect("/");
            return false;
        }else{
            return true;
        }
    }
}

